Software development can take considerable time and resources. The planning and roll-out of new features for existing and new applications often require assumptions on target market, potential impact, and viability of the feature, the discoverability of the feature, and the expected resource usage of the feature (e.g., capacity and bandwidth needs for the feature and/or its service).
Currently, when new features are being developed, existing data is used to determine answers to the questions such as who the targeted users are, what versions of the software they are running, how often they have active sessions, and what are the best designs for discoverability. Based on one or more of these assumptions, new features are specified and entirely developed before trying to instrument particular aspects of a new feature.